/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Iterator_Pattern;

import java.util.ArrayList;

/**
 * clase para crear un iterador especifico para un a estructura de dato
 * @author Karadak
 */

public class IteradorOrden implements Iterador{

    ArrayList<String> orden; // para efectos de practica se uso un arraylist, pero se pudo haber usado algun otra estrucutra de datos
    int posicion = 0;

    /**
     * obtenemos la coleccion de datos
     * @param elementos 
     */
    public IteradorOrden(ArrayList elementos)
    {
        this.orden = elementos;
    }
    
    /**
     * metodo que verifica si tiene elementos
     * @return 
     */
    @Override
    public boolean tieneElementos() {
        if(posicion >= this.orden.size() || this.orden.isEmpty())
        {
            return false;                    
        }
        else
        {
            return true;
        }
    }

    /**
     * metodo que devuelve un lemento extraido
     * @return 
     */
    @Override
    public Object siguiente() {
        
        Object item = this.orden.get(posicion);        
        posicion++;
        
        return item;
    }
    
}
